package com.pxmeta.dynamic.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pxmeta.dynamic.entity.Topic;
import com.pxmeta.dynamic.entity.dto.TopicDTO;

import java.util.List;

/**
 * 社区评论Service接口
 *
 * @author wcl
 * @date 2022-03-21
 */
public interface ITopicService extends IService<Topic> {
    /**
     * 添加话题
     * @param dto
     */
    Topic add(TopicDTO dto, Long userId);

    /**
     * 搜索话题
     * @param name
     */
    List<TopicDTO> search(Long userId, Long circleId, String name);

    /**
     * 根据分类id获取话题列表
     * @param circleId
     * @param categoryId
     * @return
     */
    List<TopicDTO> getByCategoryId(Long userId, Long circleId, Long categoryId);

    /**
     * 获取圈子下热门话题
     * @param userId
     * @param circleId
     * @return
     */
    List<TopicDTO> getHotTopicByCircle(Long userId, Long circleId);


    /**
     * 获取话题列表
     * @param page
     * @param size
     * @param keyword
     * @return
     */
    IPage<TopicDTO> getList(Integer page, Integer size, String keyword, Integer type, Long categoryId);

    void deleteTopic(Long id);
}
